Ubuntu22.04(Linux)源码编译安装 RocketMQ 和 RocketMQ

您所在的位置:网站首页 rocketmq 常用命令 Ubuntu22.04(Linux)源码编译安装 RocketMQ 和 RocketMQ

Ubuntu22.04(Linux)源码编译安装 RocketMQ 和 RocketMQ

#Ubuntu22.04(Linux)源码编译安装 RocketMQ 和 RocketMQ| 来源: 网络整理| 查看: 265

本文基于腾讯云新加坡 2H4G 服务器。连接服务器的软件用的是 termius。

⚠️警告 Warning:

由于克隆仓库最新的源码编译安装 RocketMQ,可能有潜在的Bug或风险,建议不要在生产环境这么做。我只是用来学习,所以即使有潜在的 Bug 我也没什么损失😎

编译安装 RocketMQ

克隆 RocketMQ Github 仓库 github.com/apache/rock…

git clone https://github.com/apache/rocketmq.git 复制代码

安装 Java 环境

sudo apt update sudo apt install openjdk-11-jdk 复制代码

安装完成后,配置 Java 环境变量。

nano ~/.bashrc 复制代码

按 ALT + / 跳转到最后,在最后几行添加

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin 复制代码

按 Ctrl + X,然后输入 y,再按回车保存退出。

接着更新一下环境变量

source ~/.bashrc 复制代码

安装 Maven

sudo apt install maven 复制代码

进入刚刚 clone 下来的 rocketmq 目录,并用 maven 编译。关于 build 命令的更多问题可以看 官方GitHub仓库Build说明

cd rocketmq/ mvn -Prelease-all -DskipTests clean install -U 复制代码

接下来就是等待编译完成,当看到像下图一样的时候就是编译成功了。

image.png

在 ~/rocketmq/distribution/target/rocketmq-5.0.1-SNAPSHOT/rocketmq-5.0.1-SNAPSHOT/ 目录下可以看到编译结果。将这个文件夹复制到用户根目录下,并重命名为rocketmq-5.0.1。

cd ~ cp -r ~/rocketmq/distribution/target/rocketmq-5.0.1-SNAPSHOT/rocketmq-5.0.1-SNAPSHOT ~/rocketmq-5.0.1 复制代码

接下来将这个 rocketmq-5.0.1 文件夹添加到环境变量

nano ~/.bashrc 复制代码

按 ALT + / ,在最后几行加入

export ROCKETMQ_HOME=~/rocketmq-5.0.1 export PATH=$PATH:$ROCKETMQ_HOME/bin 复制代码

Ctrl + X ,按y,然后回车保存。

然后更新一下环境变量

source ~/.bashrc 复制代码

验证刚刚配置的环境变量是否生效

echo $ROCKETMQ_HOME 复制代码

像下图这样就是生效了。

image.png

启动 NameServer

建立一个新的 screen 使 mqnamesrv 后台运行,命名为 mqname

screen -S mqname 复制代码

在新的 screen 中 cd 进入刚刚复制过来的 rocketmq-5.0.1 文件夹中的 bin 目录

cd rocketmq-5.0.1/bin/ 复制代码

启动 Name Server 服务

sh mqnamesrv 复制代码

出现以下报错

image.png

原因是 mqnamesrv 默认配置的 jvm 虚拟机内存比较大,我这台 4G 内存的服务器就不能直接运行。接下来

nano runserver.sh 复制代码

找到下图这两个地方,将它们改成 512m

image.png

改完后 Ctrl + X ,按y,然后回车保存

改完之后是下图这样的

image.png

再次启动 Name Server 服务

sh mqnamesrv 复制代码

如下图所示, Name Server 成功启动 image.png

按 Ctrl + A + D 退出 mqname 这个 screen。

通过下面命令查看 NameServer 运行状态(Tip:jps 是 jdk 提供的一个查看当前 java 进程的小工具)

jps -l 复制代码

image.png

启动 Broker

同样的,建立一个新的 screen 使 mqbroker 后台运行,命名为 mqbroker

screen -S mqbroker 复制代码

然后

cd ~/rocketmq-5.0.1/bin/ sh mqbroker -n localhost:9876 复制代码

出现以下报错,原因同样是默认配置的 jvm 虚拟机内存比较大:

image.png

输入命令

nano runbroker.sh 复制代码

找到下图这个地方,将它改成 512m ,改完后Ctrl + X ,按y,然后回车保存。

image.png

更改后应该像下图这样:

image.png

再次启动Broker

sh mqbroker -n localhost:9876 复制代码

从下图可以看到 Broker 成功启动。

image.png

最后,按 Ctrl + A + D 退出这个 screen。

额外提一嘴:可以用 screen -list 命令查看刚才创建的两个 screen,像下图这样:

image.png

要想返回某个 screen 可以用 screen -r 你起的名称 命令,比如我想返回 mqname 这个 screen ,可以 screen -r mqname 。

如果你不习惯用 screen ,用 nohup 也是可以的,就是在启动 NameServer 和 Broker 的命令分别换成 nohup sh mqnamesrv & 和 nohup sh mqbroker -n localhost:9876 &

此外,还可以用下面的命令查看日志

tail -f ~/logs/rocketmqlogs/broker.log 复制代码 模拟发送消息和消费消息验证功能是否正常

再次通过下面命令查看 NameServer 和 Broker 运行状态

jps -l 复制代码

image.png

目前我们 NameServer 和 Broker 都已经启动成功,应该可以进行发送和消费消息了。RocketMQ 默认提供了一个模拟发送消息和消费消息的测试类,我们来验证一下。

cd rocketmq-5.0.1/bin/ sh tools.sh org.apache.rocketmq.example.quickstart.Producer 复制代码

又出现报错了 image.png

这时候需要我们设置一个临时环境变量(或者直接加到 ~/.bashrc 文件后面)

按 Ctrl + C 终止脚本,然后执行下面的命令

export NAMESRV_ADDR=localhost:9876 复制代码

然后再次启动 Producer(生产者)

sh tools.sh org.apache.rocketmq.example.quickstart.Producer 复制代码

看到下图这样就是说明消息投递成功。

image.png

接下来就是启动 Consumer(消费者)

sh tools.sh org.apache.rocketmq.example.quickstart.Consumer 复制代码

像下图这样就是消费成功了。

image.png

加餐:安装Dashboard

Dashboard 是由 RocketMQ 官方提供的组件,它能够给我们的集群提供一个可视化的界面,来帮我们更好的运维、监控整个集群。

rocket-dashboard 的前身是在 rocketmq-externals 里的 rocketmq-console,现在,rocketmq-console 这个项目已经被重命名、并且挪到了新的仓库中去了。

分别执行以下几行命令

git clone https://github.com/apache/rocketmq-dashboard.git cd rocketmq-dashboard/ mvn clean package -Dmaven.test.skip=true 复制代码

然后等待编译完成,像下图这样:

image.png

然后新建一个 screen,命名为 dashboard

screen -S dashboard 复制代码

然后执行以下命令。如果运行不了,检查一下当前是不是在 ~/rocketmq-dashboard 目录下

java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar 复制代码

出现下图这样的 Spring 标志说明启动成功。

image.png

默认端口是 8080,去腾讯云服务器控制台中的 防火墙 将端口 8080 添加进规则,然后在浏览器输入 你的公网IP:8080 访问 Dashboard

(Tip:英语不好的小伙伴不用怕,右上角可以更换成中文)

最终看到下图这样就安装成功啦!

image.png

点进 集群,可以看到刚刚测试的 1000 条消息。

image.png

给 Dashboard 添加登录验证 cd ~/rocketmq-dashboard/ nano src/main/resources/application.yml 复制代码

找到下图中的 loginRequired,将 false 改成 true。 image.png

然后添加管理员

格式:每行定义一个用户,username=password[,N]

N 是可选项,可以为 0(普通用户); 1(管理员)

image.png

修改完后保存退出。然后重新编译。

mvn clean package -Dmaven.test.skip=true 复制代码

再启动

java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar 复制代码

这时候就需要账号密码才能进仪表盘了。

image.png

都看到这里了,点个赞再走呗。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3